package com.dcrzl.shcz.common.utils;


import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author 稻草人之恋
 * @version 1.0
 * @date 2020/12/24 10:52
 * <p>
 * 系统常量类
 */
@Component
@Slf4j
public class SysConstant {


    /**
     * 返回预期值成功
     */
    public static final int SUCCESS_CODE_RES = 0;
    /**
     * 删除数据失败
     */
    public static final int DELETE_FAIL_CODE_RES = 2001;
    /**
     * 添加数据失败
     */
    public static final int ADD_FAIL_CODE_RES = 2002;
    /**
     * 更新数据失败
     */
    public static final int UPDATE_FAIL_CODE_RES = 2003;
    /**
     * 查询数据失败
     */
    public static final int SELECT_FAIL_CODE_RES = 2004;
    /**
     * 注册失败
     */
    public static final int REGISTER_FAIL_CODE_RES = 1010;
    /**
     * 该用户被冻结
     */
    public static final int FREEZE_CODE_RES = 1000;

    /**
     * 未登录，没有token
     */
    public static final int NOT_LOGIN_RES_CODE = 1001;

    /**
     * 待审核
     */
    public static final int AUDIT_CODE_RES = 1001;

    /**
     * 审核失败，未通过
     */
    public static final int AUDIT_FAILED_CODE_RES = 1002;

    /**
     * 注册/登录状态未定义
     */
    public static final int UNDEFINED_CODE_RES = 1004;


    /**
     * 微信解绑状态
     */
    public static final int UNBIND_CODE_RES = 1003;

    /**
     * 验证码过期
     */
    public static final int CODE_EXPIRE_CODE_RES = 1009;
    /**
     * 验证码错误
     */
    public static final int CODE_ERROR_CODE_RES = 1008;

    /**
     * 密码错误
     */
    public static final int PASSWORD_ERROR_CODE_RES = 1010;

    /**
     * 支付密码错误
     */
    public static final int PAY_PASSWORD_ERROR_CODE_RES = 1020;


    /**
     * 参数缺失
     */
    public static final int PARAM_LACK_CODE_RES = 4001;
    /**
     * 权限缺失
     */
    public static final int PERMS_LACK_CODE_RES = 4002;

    /**
     * 余额不足
     */
    public static final int CREDIT_CODE_RES = 4003;

    /**
     * 服务错误
     */
    public static final int SERVICE_ERROR_CODE_RES = 5000;
    /**
     * JWT解析异常
     */
    public static final int RES_JWT_PARSE_ERROR = 5001;


    public static final int TOKEN_EXPIRED_ERROR_CODE_RES = 5002;

    /**
     * 生成登录标识符错误
     */
    public static final int CREATE_CODE_ERROR_CODE_RES = 5003;
    /**
     * 数据库信息重复错误
     */
    public static final int DUPLICATE_KEY_CODE_RES = 5004;

    /**
     *
     */
    public static final int DATA_ERR_CODE_RES = 5005;

    /**
     * 心跳检测失败
     */
    public static final int NOT_CHECK_HEART_BEAT_CODE_RES = 5006;

    /**
     * 网络异常
     */
    public static final int NET_SERVICE_ERROR_CODE_RES = 5007;


    /**
     * 分割list,子list的最大数量
     */
    public static final int SUB_MAX_NUM_COLLECTION = 50;


    /**
     * 计算经纬度距离之后，召回地址的距离单位（米）
     */
    public static final double LOCAL_RANGE = 1500;


    /**
     * 正常数据
     */
    public static final int DATA_NORMAL_STATUS = 0;
    /**
     * 移除数据
     */
    public static final int DATA_DELETE_STATUS = -1;


    /**
     * 设置锁的时间为5秒
     */
    public static final long LOCK_EXPIRE = 5 * 1000;

    /**
     * jwt 加密解密密钥
     */
    public static final String JWT_SECRET = "dcrzl";

    /**
     * token 过期时间, 单位: 毫秒. 这个值表示 1天
     */
    public static final long TOKEN_EXPIRED_TIME = 12 * 30 * 24 * 60 * 60 * 1000L;


    /**
     * 图形验证码过期时间，单位：秒 这个值表示5分钟
     */
    public static final long CAPTCHA_CODE_EXP_TIME = 5 * 60L;


    /**
     * 最高权限者的ID值
     */
    public static final Long ROOT_ID = 1L;

    /**
     * 目录类型
     * 目录
     */
    public static final Integer LIST_MENU_TYPE = 0;
    /**
     * 菜单
     */
    public static final Integer MENU_TYPE = 1;
    /**
     * 按钮
     */
    public static final Integer BUTTON_MENU_TYPE = 2;


    /**
     * 文章发布状态
     */
    public static final Integer FINISH_RELEASE_STATUS = 0;
    public static final Integer PRE_RELEASE_STATUS = -1;


    public static final Integer PRE_ORDER_STATUS = 0;
    public static final Integer ING_ORDER_STATUS = 1;
    public static final Integer FINISH_ORDER_STATUS = 2;

}
